// Niektre podstawowe operacje na ciekach

#import <Foundation/Foundation.h>

int main (int argc, char *argv[])
{
    NSAutoreleasePool  * pool = [[NSAutoreleasePool alloc] init];
    NSString           *fName = @"path.m";
    NSFileManager      *fm;
    NSString           *path, *tempdir, *extension, *homedir, *fullpath;
    NSString           *upath = @"~stevekochan/progs/../ch16/./path.m";

    NSArray            *components;

    fm = [NSFileManager defaultManager];

    // Sprawdzenie tymczasowego katalogu roboczego

    tempdir = NSTemporaryDirectory ();

    NSLog (@"Katalog tymczasowy: %@", tempdir);

    // Pobranie katalogu bazowego ze cieki do katalogu biecego

    path = [fm currentDirectoryPath];
    NSLog (@"Katalog bazowy: %@", [path lastPathComponent]);

    // Utworzenie penej cieki do pliku fName w biecym katalogu

    fullpath = [path stringByAppendingPathComponent: fName];
    NSLog (@"Pena cieka do pliku %@: %@", fName, fullpath);

    // Pobranie rozszerzenia pliku

    extension = [fullpath pathExtension];
    NSLog (@"Rozszerzenie pliku %@: %@", fullpath, extension);

    // Sprawdzenie katalogu domowego uytkownika

    homedir = NSHomeDirectory ();
    NSLog (@"Twj katalog domowy: %@", homedir);

    // Rozbicie cieki na czynniki

    components = [homedir pathComponents];

    for ( path in components )
        NSLog (@"%@", path);

    // Standaryzacja cieki

    NSLog (@"%@ => %@", upath , [upath stringByStandardizingPath] );

    [pool drain];
    return 0;
}